import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);

        //1.创建"数据源" (DataSource)
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java111?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("1234");

        //2.和数据库建立连接
        Connection connection = dataSource.getConnection();

        //3.能够构造一个可以操控数据库的sql语句
        System.out.println("输入学号");
        int id = scanner.nextInt();
        System.out.println("输入姓名");
        String name = scanner.next();

        String sql = "insert into test values (" + id + ",'" + name + "')";
        PreparedStatement preparedStatement = ((Connection) connection).prepareStatement(sql);

        //4.执行sql,把刚才解析好的语句发给数据库服务器
        //返回值是一个int类型,表明这个操作影响了几行数据
        int n = preparedStatement.executeUpdate();
        System.out.println(" n = " + n);

        //5.执行完毕,有收尾操作,释放前面创建的一系列资源;
        //主要是释放 语句对象 和 连接对象, DataSource 不用释放
        preparedStatement.close();
        connection.close();
    }
}
